/*
* INSANE - Interactive Structural Analysis Environment
*
* Copyright (C) 2003-2005
* Universidade Federal de Minas Gerais
* Escola de Engenharia
* Departamento de Engenharia de Estruturas
* 
* Author's email :    insane@dees.ufmg.br
* Author's website :  http://www.dees.ufmg.br/insane
* 
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or any later version.
* 
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
* 
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
*/
package br.ufmg.dees.insane.crossSection;

/**
*An interface representing CrossSection.<p>
*
*@author CENOURA!!!
*@version 1.0
*@since 28/04/2005
*/
public interface CrossSection {
//********************************************************************************
    /** Returns the label of this CrossSection.
	*@return The label of this CrossSection.
	*/
    public abstract String getLabel();
    
    /** Sets the label of this CrossSection.
     *@param a The label of this CrossSection.
     */
    public abstract void setLabel(String a);
//********************************************************************************
     /** Returns the area of this CrossSection.
 	*@return The area of this CrossSection.
 	*/
     public abstract double getArea();
     
     /** Sets the area of this CrossSection.
      *@param a The area of this CrossSection.
      */
     public abstract void setArea(double a);
//********************************************************************************
     /** Returns the moment of inertia about the local Y axis of this CrossSection.
 	*@return The moment of inertia about the local Y axis of this CrossSection.
 	*/
     public abstract double getIy();
     
     /** Sets the moment of inertia about the local Y axis of this CrossSection.
      *@param a The moment of inertia about the local Y axis of this CrossSection.
      */
     public abstract void setIy(double a);
//********************************************************************************
     /** Returns the moment of inertia about the local Z axis of this CrossSection.
 	*@return The moment of inertia about the local Z axis of this CrossSection.
 	*/
     public abstract double getIz();
     
     /** Sets the moment of inertia about the local Z axis of this CrossSection.
      *@param a The moment of inertia about the local Z axis of this CrossSection.
      */
     public abstract void setIz(double a);
//********************************************************************************
     /** Returns the moment of inertia about the local X axis of this CrossSection.
 	*@return The moment of inertia about the local X axis of this CrossSection.
 	*/
     public abstract double getIx();
     
     /** Sets the moment of inertia about the local X axis of this CrossSection.
      *@param a The moment of inertia about the local X axis of this CrossSection.
      */
     public abstract void setIx(double a);
//********************************************************************************
     /** Returns the height of the rectangular CrossSection.
 	*@return The height of the rectangular CrossSection.
 	*/
     public abstract double getHeight();

     /** Sets the height of the rectangular CrossSection.
      *@param a The height of the rectangular CrossSection.
      */
     public abstract void setHeight(double a);
//********************************************************************************
 	/** Returns the thickness of this CrossSection.
 	*@return The thickness of this CrossSection.
 	*/
     public abstract double getThickness();

     /** Sets the thickness of this CrossSection.
      *@param a The thickness of this CrossSection.
      */
     public abstract void setThickness(double a);
}